In image coding techniques for multiple-viewpoint images, disparity prediction coding that reduces the amount of information by predicting disparity between images at the time of coding of multiple-viewpoint images and decoding methods corresponding to the coding methods have been proposed. A vector indicating disparity between viewpoint images is referred to as a disparity vector. A disparity vector is a 2-dimensional vector that has a component (x component) in the horizontal direction and a component (y component) in the vertical direction and is calculated for each block which is a region obtained by partitioning one image. To acquire multiple-viewpoint images, it is general to use cameras disposed at respective viewpoints. In coding for multiple-viewpoint images, viewpoint images are coded as different layers in a plurality of layers. A coding method for a moving image formed in a plurality of layers is generally referred to as scalable coding or hierarchical coding. In scalable coding, high coding efficiency is realized by executing prediction between layers. A layer serving as a standard layer, which is not used in prediction between layers, is referred to as a base layer and other layers are referred to as enhancement layers. In a case where layers are formed from viewpoint images, scalable coding is referred to as view scalable coding. At this time, a base layer is also referred to as a base view and an enhancement layer is also referred to as a non-base view. Further, in addition to view scalable coding, scalable coding is referred to as 3-dimensional scalable coding in a case where layers are formed from a texture layer (image layer) of textures (images) and a depth layer (distance image layer) of a depth map (distance image).
For example, NPL 1 discloses a 3-dimensional scalable coding technique of an HEVC base. In NPL 1, in order to code a depth map efficiently, there is a depth coding tool such as depth modeling mode (DMM) prediction (also referred to as depth intra prediction).
In the DMM prediction, a target block (also referred to as a depth block) on a depth map is based on a depth model that is configured by two nonrectangular flat regions and in which a depth value of each flat region is expressed with a fixed value. The depth model is configured by partition information indicating a region to which each pixel belongs and depth value information regarding each region.
In the DMM prediction, there are two types of different partition types, that is, wedgelet partition and contour partition, as depth block partition methods. NPL 1 discloses a technique for retaining partition patterns (wedgelet patterns) of wedgelet partitions in a lookup table defined in advance for each block size, selecting the partition pattern designated by an identifier (partition pattern index wedge_full_tab_idx) designating the partition pattern, partitioning a depth block into two regions based on the selected partition pattern, and predicting a depth value for each of the partitioned regions.